Organizing project structures

Project structures in SNiFF+ need not map directly to file system structures. The following figure illustrates this idea.

| Note
| Please note that the following figure gives just one example of how project structures can be organized in SNiFF+. We'll use this figure again in the next chapter to illustrate other key SNiFF+ concepts.

The file system structure
The left-hand side of the diagram shows an example file system structure. The directory

Root_Directory contains directories: filebrowser , et3 and lib . Each directory corresponds to a SNiFF+ project of the same name. Project et3 contains the framework for the GUI used by project filebrowser.
Notice that, in the file system, the et3 project directory contains three subdirectories: LOOKS , PRINTERS and XSERVER . Each of these subdirectories also corresponds to a SNiFF+ project of the same name.
Finally, the lib directory in the file system also corresponds to a SNiFF+ project of the same name.
The SNiFF+ project structure
The right-hand side of the diagram shows how this file system structure is mapped to a SNiFF+ project structure. This structure has been chosen according to the following criteria:

Project

PRINTERS uses the library target of project lib.shared to build its target. As a result, project lib.shared needs to be a subproject of PRINTERS.shared .
Project et3 uses the targets of projects LOOKS.shared , PRINTERS.shared , and XSERVER.shared to build its target. As a result, these three projects need to be subprojects of et3.shared .
Project filebrowser uses the targets of project directory et3.shared to build its target. Therefore, et3.shared needs to be a subproject of filebrowser.shared .
As you can see, the project tree structure that you work with in SNiFF+ need not match the project directory structure on your file system.